package terrforming.space.objects;

import java.util.Random;
import javax.media.opengl.GL2;

/**
 * Космическая пыль
 * Из нее можно создавать объекты вселенной
 * Является видом подвижного космического объекта
 */
public class CosmicDust extends MovableCosmicObject{
    
    //генератор случайных чисел генерации местоположения
    private static Random rnd = new Random();  
    
    public CosmicDust(){
        m=1;
        x=2*rnd.nextFloat()-1;
        y=2*rnd.nextFloat()-1;
        if(x>0&&y>0) vy=-0.006f;
        if(x>0&&y<0) vx=-0.006f;
        if(x<0&&y>0) vx=0.006f;
        if(x<0&&y<0) vy=0.006f;
    }
        
    @Override
    public void recalculate(){
        super.recalculate();
        //обработка выхода за экран
        //дополнительная обработка сингулярности
        Singularity sglrt = Universe.getInstance().getSglrt();
        if (sglrt.isActive()) {
            //расстояние до объекта
            double distsqrd = (sglrt.x-x)*(sglrt.x-x)+(sglrt.y-y)*(sglrt.y-y);
            double dist = Math.sqrt(distsqrd);
            //если планету еще не создавали, то непременно необходимо сделать это
            if (dist<sglrt.r&&!sglrt.isPlanetCreated()){
                Universe.getInstance().getObjects().add(new Planet(5974200000000000000000000f,.01f, sglrt.getX(), sglrt.getY()));
                sglrt.planetCreatingLock();
            } 
        }
    }

    @Override
    public void draw(GL2 gl) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
    
    
}
